View Javadoc

1   package org.saf.struts;
2   
3   import org.apache.struts.action.Action;
4   import org.apache.struts.action.ActionForm;
5   import org.apache.struts.action.ActionForward;
6   import org.apache.struts.action.ActionMapping;
7   import org.apache.struts.action.ActionServlet;
8   import org.apache.struts.action.RequestProcessor;
9   import org.apache.struts.config.ModuleConfig;
10  
11  import org.saf.struts.util.RequestProcessorUtils;
12  
13  import java.io.IOException;
14  
15  import javax.servlet.ServletException;
16  import javax.servlet.http.HttpServletRequest;
17  import javax.servlet.http.HttpServletResponse;
18  
19  
20  public class SafRequestProcessor extends RequestProcessor {
21      private RequestProcessorUtils requestProcessorUtils = null;
22  
23      public void init(ActionServlet actionServlet, ModuleConfig moduleConfig)
24          throws ServletException {
25          super.init(actionServlet, moduleConfig);
26          requestProcessorUtils = new RequestProcessorUtils(actionServlet,
27                  moduleConfig);
28      }
29  
30      protected ActionForward processActionPerform(HttpServletRequest request,
31          HttpServletResponse response, Action action, ActionForm form,
32          ActionMapping mapping) throws IOException, ServletException {
33          ActionForward forward = null;
34  
35          requestProcessorUtils.doBeforeAuthorization(action, mapping, form,
36              request, response);
37  
38          if (requestProcessorUtils.isAuthorized(action, mapping, form, request,
39                      response)) {
40              requestProcessorUtils.doAfterAuthorization(action, mapping, form,
41                  request, response);
42              forward = super.processActionPerform(request, response, action,
43                      form, mapping);
44          } else {
45          	forward = requestProcessorUtils.doAfterAuthorizationFailed(action, mapping,
46                  form, request, response);
47          }
48  
49          return forward;
50      }
51  }